我连接了shh tunnel和ForwardedPortLocal,但是mongo客户端没有连接。 以下是我的预期“其他信息:无法连接到服务器localhost:27000:数据库'db_name'的凭据无效..”
var keyFile = new PrivateKeyFile(@“C:\ Users \ Desktop \ mms_key.pem”); var username =“mms-user”;
using (var client = new SshClient("dpmongo-0.sample.2121.mongodbdns.com",22, username, keyFile))
{
client.Connect();
var port = new ForwardedPortLocal("127.0.0.1", 27000, "localhost", 27000);
client.AddForwardedPort(port);
port.Start();
var credentials = MongoCredential.CreateMongoCRCredential("db_name", "user_name", "password");
MongoClientSettings settings = new MongoClientSettings();
settings.Server = new MongoServerAddress("localhost", 27000);
settings.Credentials = new[] { credentials };
var mongoEC2 = new MongoClient(settings);
var server = mongoEC2.GetServer();
var database = server.GetDatabase("db_name");
var collection = database.GetCollection<BsonDocument>("tag");
var query = Query.EQ("linkid", 2258021);
var userFound = collection.FindOne(query);
client.Disconnect();
}
答案 0 :(得分:1)
string clientserver = "localhost";
string _port = "27000";
string mongo_username = "user_name";
string mongo_password = "password";
string databaseName = "db_name";
var connectionString = "mongodb://"
+ mongo_username + ":" + mongo_password + "@"
+ clientserver + ":" + _port + "/"
+ databaseName;
var server = new MongoClient(connectionString).GetServer();
//I tried this and it gave the same error on c#. This information was linked to my experiment on MongoCfee tools.